home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML Authority.sea / XML Authority / Required / xdk_dev.jar / a / ASTFactory.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-12-15  |  2.5 KB  |  183 lines

  1. package a;
  2.  
  3. import a.a.AST;
  4. import a.a.a.ASTArray;
  5.  
  6. public class ASTFactory {
  7.    // $FF: renamed from: a java.lang.String
  8.    protected String field_0;
  9.    // $FF: renamed from: b java.lang.Class
  10.    protected Class field_1;
  11.  
  12.    public void addASTChild(ASTPair var1, AST var2) {
  13.       if (var2 != null) {
  14.          if (var1.root == null) {
  15.             var1.root = var2;
  16.          } else if (var1.child == null) {
  17.             var1.root.setFirstChild(var2);
  18.          } else {
  19.             var1.child.setNextSibling(var2);
  20.          }
  21.  
  22.          var1.child = var2;
  23.          var1.advanceChildToEnd();
  24.       }
  25.  
  26.    }
  27.  
  28.    public AST create() {
  29.       Object var1 = null;
  30.       if (this.field_1 == null) {
  31.          var1 = new CommonAST();
  32.       } else {
  33.          try {
  34.             var1 = (AST)this.field_1.newInstance();
  35.          } catch (Exception var2) {
  36.             Tool.warning(method_0("^q|wC=s`5Viu2\u0011dI0\\?Sx0") + this.field_0);
  37.             return null;
  38.          }
  39.       }
  40.  
  41.       return (AST)var1;
  42.    }
  43.  
  44.    public AST create(int var1) {
  45.       AST var2 = this.create();
  46.       var2.initialize(var1, "");
  47.       return var2;
  48.    }
  49.  
  50.    public AST create(int var1, String var2) {
  51.       AST var3 = this.create();
  52.       var3.initialize(var1, var2);
  53.       return var3;
  54.    }
  55.  
  56.    public AST create(AST var1) {
  57.       if (var1 == null) {
  58.          return null;
  59.       } else {
  60.          AST var2 = this.create();
  61.          var2.initialize(var1);
  62.          return var2;
  63.       }
  64.    }
  65.  
  66.    public AST create(Token var1) {
  67.       AST var2 = this.create();
  68.       var2.initialize(var1);
  69.       return var2;
  70.    }
  71.  
  72.    public AST dup(AST var1) {
  73.       return this.create(var1);
  74.    }
  75.  
  76.    public AST dupList(AST var1) {
  77.       AST var2 = this.dupTree(var1);
  78.  
  79.       for(AST var3 = var2; var1 != null; var3 = var3.getNextSibling()) {
  80.          var1 = var1.getNextSibling();
  81.          var3.setNextSibling(this.dupTree(var1));
  82.       }
  83.  
  84.       return var2;
  85.    }
  86.  
  87.    public AST dupTree(AST var1) {
  88.       AST var2 = this.dup(var1);
  89.       if (var1 != null) {
  90.          var2.setFirstChild(this.dupList(var1.getFirstChild()));
  91.       }
  92.  
  93.       return var2;
  94.    }
  95.  
  96.    public AST make(AST[] var1) {
  97.       if (var1 != null && var1.length != 0) {
  98.          AST var2 = var1[0];
  99.          AST var3 = null;
  100.          if (var2 != null) {
  101.             var2.setFirstChild((AST)null);
  102.          }
  103.  
  104.          for(int var4 = 1; var4 < var1.length; ++var4) {
  105.             if (var1[var4] != null) {
  106.                if (var2 == null) {
  107.                   var2 = var3 = var1[var4];
  108.                } else if (var3 == null) {
  109.                   var2.setFirstChild(var1[var4]);
  110.                   var3 = var2.getFirstChild();
  111.                } else {
  112.                   var3.setNextSibling(var1[var4]);
  113.                   var3 = var3.getNextSibling();
  114.                }
  115.  
  116.                while(var3.getNextSibling() != null) {
  117.                   var3 = var3.getNextSibling();
  118.                }
  119.             }
  120.          }
  121.  
  122.          return var2;
  123.       } else {
  124.          return null;
  125.       }
  126.    }
  127.  
  128.    public AST make(ASTArray var1) {
  129.       return this.make(var1.array);
  130.    }
  131.  
  132.    public void makeASTRoot(ASTPair var1, AST var2) {
  133.       if (var2 != null) {
  134.          var2.addChild(var1.root);
  135.          var1.child = var1.root;
  136.          var1.advanceChildToEnd();
  137.          var1.root = var2;
  138.       }
  139.  
  140.    }
  141.  
  142.    public void setASTNodeType(String var1) {
  143.       this.field_0 = var1;
  144.  
  145.       try {
  146.          this.field_1 = Class.forName(var1);
  147.       } catch (Exception var2) {
  148.          Tool.warning(method_0("^q|wC=v{>S2qq3Rnc2\u0011dI0\\?Sx0f)Gx") + var1);
  149.       }
  150.    }
  151.  
  152.    // $FF: renamed from: a (java.lang.String) java.lang.String
  153.    private static String method_0(String var0) {
  154.       char[] var1 = var0.toCharArray();
  155.       int var2 = var1.length;
  156.  
  157.       for(int var3 = 0; var3 < var2; ++var3) {
  158.          char var10002 = var1[var3];
  159.          byte var10003;
  160.          switch (var3 % 5) {
  161.             case 0:
  162.                var10003 = 29;
  163.                break;
  164.             case 1:
  165.                var10003 = 16;
  166.                break;
  167.             case 2:
  168.                var10003 = 18;
  169.                break;
  170.             case 3:
  171.                var10003 = 80;
  172.                break;
  173.             default:
  174.                var10003 = 55;
  175.          }
  176.  
  177.          var1[var3] = (char)(var10002 ^ var10003);
  178.       }
  179.  
  180.       return new String(var1);
  181.    }
  182. }
  183.